﻿using System;
using UnityEngine;

// Token: 0x02000328 RID: 808
[Serializable]
public class AssetBundleManifestData : AssetBundleData
{
	// Token: 0x06001461 RID: 5217 RVA: 0x0008E900 File Offset: 0x0008CB00
	public AssetBundleManifestData()
	{
	}

	// Token: 0x06001462 RID: 5218 RVA: 0x0008E914 File Offset: 0x0008CB14
	public AssetBundleManifestData(string bundle, string asset) : base(bundle, asset)
	{
	}

	// Token: 0x06001463 RID: 5219 RVA: 0x0008E92C File Offset: 0x0008CB2C
	public AssetBundleManifestData(string bundle, string asset, string manifest) : base(bundle, asset)
	{
		this._manifest = manifest;
	}

	// Token: 0x170001F8 RID: 504
	// (get) Token: 0x06001464 RID: 5220 RVA: 0x0008E948 File Offset: 0x0008CB48
	// (set) Token: 0x06001465 RID: 5221 RVA: 0x0008E950 File Offset: 0x0008CB50
	public string manifest
	{
		get
		{
			return this._manifest;
		}
		set
		{
			this._manifest = value;
		}
	}

	// Token: 0x170001F9 RID: 505
	// (get) Token: 0x06001466 RID: 5222 RVA: 0x0008E95C File Offset: 0x0008CB5C
	public new bool isEmpty
	{
		get
		{
			return base.isEmpty || this.manifest.IsNullOrEmpty();
		}
	}

	// Token: 0x06001467 RID: 5223 RVA: 0x0008E978 File Offset: 0x0008CB78
	public bool Check(string bundle, string asset, string manifest)
	{
		return (!manifest.IsNullOrEmpty() && this._manifest != manifest) || base.Check(bundle, asset);
	}

	// Token: 0x170001FA RID: 506
	// (get) Token: 0x06001468 RID: 5224 RVA: 0x0008E9A0 File Offset: 0x0008CBA0
	public override LoadedAssetBundle LoadedBundle
	{
		get
		{
			string text;
			return AssetBundleManager.GetLoadedAssetBundle(this.bundle, out text, this._manifest);
		}
	}

	// Token: 0x06001469 RID: 5225 RVA: 0x0008E9C0 File Offset: 0x0008CBC0
	public override AssetBundleLoadAssetOperation LoadBundle<T>()
	{
		if (!base.isFile)
		{
			return null;
		}
		AssetBundleLoadAssetOperation result;
		if ((result = this.request) == null)
		{
			result = (this.request = AssetBundleManager.LoadAsset(this, typeof(T)));
		}
		return result;
	}

	// Token: 0x0600146A RID: 5226 RVA: 0x0008EA00 File Offset: 0x0008CC00
	public override AssetBundleLoadAssetOperation LoadBundleAsync<T>()
	{
		if (!base.isFile)
		{
			return null;
		}
		AssetBundleLoadAssetOperation result;
		if ((result = this.request) == null)
		{
			result = (this.request = AssetBundleManager.LoadAssetAsync(this, typeof(T)));
		}
		return result;
	}

	// Token: 0x0600146B RID: 5227 RVA: 0x0008EA40 File Offset: 0x0008CC40
	public override AssetBundleLoadAssetOperation LoadAllBundle<T>()
	{
		if (!base.isFile)
		{
			return null;
		}
		AssetBundleLoadAssetOperation result;
		if ((result = this.request) == null)
		{
			result = (this.request = AssetBundleManager.LoadAllAsset(this, typeof(T)));
		}
		return result;
	}

	// Token: 0x0600146C RID: 5228 RVA: 0x0008EA80 File Offset: 0x0008CC80
	public override AssetBundleLoadAssetOperation LoadAllBundleAsync<T>()
	{
		if (!base.isFile)
		{
			return null;
		}
		AssetBundleLoadAssetOperation result;
		if ((result = this.request) == null)
		{
			result = (this.request = AssetBundleManager.LoadAllAssetAsync(this, typeof(T)));
		}
		return result;
	}

	// Token: 0x0600146D RID: 5229 RVA: 0x0008EAC0 File Offset: 0x0008CCC0
	public override void UnloadBundle(bool isUnloadForceRefCount = false, bool unloadAllLoadedObjects = false)
	{
		if (this.request != null)
		{
			AssetBundleManager.UnloadAssetBundle(this, isUnloadForceRefCount, unloadAllLoadedObjects);
		}
		this.request = null;
	}

	// Token: 0x040018F8 RID: 6392
	[SerializeField]
	private string _manifest = string.Empty;
}
